/**
 * gpms
 * 2012-8-1 下午2:55:26
 * 作者：陈志明
 * 
 */
package com.gpms.privilege.service;

import java.util.List;

import com.gpms.common.service.BaseService;
import com.gpms.common.util.DataUtils;
import com.gpms.mapper.*;
import com.gpms.privilege.dao.UserDao;

/**
 * @author Jackie chen
 *
 */
public class UserService extends BaseService {
	private UserDao userDao;
	
	/**
	 * 根据用户名获取用户
	 * @param user
	 * @return
	 */
	public Users getUserByName(Users user){
		return userDao.findUserByName(user);
	}
	
	/**
	 * 根据用户名模糊获取用户
	 * @param user
	 * @return
	 */
	public List<Users> getUserByName_like(Users user){
		return userDao.findUserByName_like(user);
	}
	
	/**
	 * 根据ID获取用户
	 * @param user
	 * @return
	 */
	public Users getUserById(Users user){
		return userDao.findUserById(user);
	}
	
	/**
	 * 获取所有用户
	 * @return
	 */
	public List<Users> getAllUser(){
		return userDao.findAllUser();
	}
	
	/**
	 * 获取用户所属分组
	 * @param user
	 * @return
	 */
	public List<Role> getUserRole(Users user){
		return userDao.findUserRoleByUserId(user);
	}
	
	/**
	 * 获取用户分组
	 * @param user
	 * @return
	 */
	public List<Groups> getUserGroup(Users user){
		return userDao.findUserGroupByUserId(user);
	}
	
	/**
	 * 添加一个用户
	 * @param user
	 * @return
	 */
	public int addUser(Users user){
		user.setCreatetime(DataUtils.getCurrentDateTimeToDate());
		user.setModifiedtime(DataUtils.getCurrentDateTimeToDate());
		return userDao.saveUser(user);
	}
	
	/**
	 * 根据ID修改用户
	 * @param user
	 * @return
	 */
	public int updateUserById(Users user){
		user.setModifiedtime(DataUtils.getCurrentDateTimeToDate());
		return userDao.alterUserById(user);
	}
	
	/**
	 * 根据ID删除用户
	 * @param user
	 * @return
	 */
	public int deleteUserById(Users user){
		return userDao.removeUserById(user);
	}
	
	/**
	 * 根据ID批量删除用户
	 * @param ids
	 * @return
	 */
	public int deleteUserByIds(String ids){
		return userDao.removeUserByIds(ids);
	}
	
	/**
	 * @param userDao the userDao to set
	 */
	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}
}
